1. Field of the Invention
Embodiments of the present invention generally relate to editing multimedia clips on an editing timeline and, more particularly, to a method and apparatus for phase coherent stretching of audio clips on an editing timeline.
2. Description of the Related Art
Within the context of audio editing, time compression and/or expansion, also known as “stretching” is a process of editing audio clips that modifies the time duration of the clip. Such stretching changes the speed (tempo) of an audio clip, while optionally leaving the pitch of the audio signal intact. Stretching is utilized, for example, when one wishes to change the speed of a section of a prerecorded voice without changing the timbre of the voice. Most multimedia editing programs include a timeline as part of their graphical interface, for depicting multiple sources of the video and audio components that comprise a multimedia presentation as a plurality of individual audio and video clips. The clips are arranged in tracks on the timeline in a time-parallel manner which extends in a linear fashion horizontally across a display of the graphical interface. Much of the audio and video editing that takes place is done within this displayed timeline, thus use of the phrase “editing timeline”.
Each clip has a start time and end time, identifying where the clip starts playing on the timeline and where the clip stops playing on the timeline. Each clip also has an “in-point”. A clip in a timeline is not the actual source audio file. Rather, it is a representation of the source audio file. During the editing process, the clip may be “trimmed”. For example, if a clip is placed at time zero (0) on the timeline, the user may trim the left edge of the clip (the clip's start) such that the clip's start is now at 20 seconds on the timeline. By doing this, the start of the clip represents the 20 second point within the audio source file. This is considered the “in-point”. Therefore, the start time of the clip does not always represent the start of the source audio file. Before trimming, the in-point was 0. After trimming, the in-point was 20 seconds.
It is critical to keep two clips in a timeline playing at the same rate (in sync, also called “phase coherent”) when, for example, content of a video clip is synced to content of an audio clip, as well as to keep content of multiple parallel audio clips synced with respect to each other. In order to accomplish this, the video and audio clips are linked so when a user drags the video clip portion in a timeline so as to change one of its start time or end time, the linked audio clip moves with it. As long as the audio and video clips have the same start times and end times, the content of the audio and video clips remain in sync.
However, using traditional editing techniques, when stretching a set of grouped media clips on an editing timeline that have different start times and end times, the start times of the selected clips are static. Because the start times of the selected clips do not move during stretching, the clips shift out of relative time from each other, causing the audio to lead or lag behind the video or audio in other clips. This is commonly seen in a talking-head video where the audio no longer matches the mouth movements of the speaker, resulting in a poor user experience. For correction of this problem, an additional step is required to individually re-position the audio and video clips on the editing timeline after a given audio clip or group of audio clips has been stretched. Attending to this additional step can lead to an error and is also time consuming and therefore undesirable.
Therefore, there is a need in the art for a method and apparatus for phase coherent stretching of audio clips on an editing timeline.